package com.xframe.domain.sys;

import com.xframe.domain.BaseModel;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xframe.xdal.core.annotation.*;
import com.xframe.xdal.core.constant.AutoFillType;
import com.xframe.xdal.core.serialize.IModelConfig;
import lombok.Data;


/**
 * 模型配置存储表  is_del_flag
 *
 * @author xufeng
 * @version 1.0
 * @date 2023-03-28 language
 */
@Data
@XTable(value = "SYS_MODEL_CONFIG", label = "模型配置存储表")
@XSelectItem(keyName = "modelViewId",codeName = "modelViewId",textName = "queryKey")
public class SysModelConfig extends BaseModel implements IModelConfig {

    /**
     * 模型配置ID
     */
    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    @AutoFill(AutoFillType.Snowflake)
    @XColumn(name = "MODEL_VIEW_ID", primaryKeyFlag = true,desc = "模型配置ID")
    private Long modelViewId;
    /**
     * 语言
     */
    @XQueryCondition
    @XColumn(name = "LANGUAGE", uniqueFlag = true,desc = "语言",length = 20)
    protected String language = "cn";

    /**
     * 查询关键字
     */
    @XQueryCondition
    @XColumn(name = "QUERY_KEY", uniqueFlag = true,desc = "查询关键字",length = 50)
    protected String queryKey = "default";

    /**
     * 文件版本
     */
    @XColumn(name = "VER", uniqueFlag = true,desc = "文件版本",length = 20)
    protected String ver = "v1";

    /**
     * 模型编码
     */
    @XColumn(name = "MODEL_CODE", uniqueFlag = true,desc = "模型编码",length = 200)
    protected String modelCode;

    /**
     * 文件类型 ser = 序列化文件  import = 导入配置文件
     */
    @XGridTableRef
    @XColumn(name = "CONFIG_TYPE", uniqueFlag = true,desc = "文件类型",length = 50)
    protected String configType;

    /**
     * 文件内容
     */
    @XGridTableRef
    @XColumn(name = "CONTENT",desc = "文件内容")
    protected String content;


    /**
     * 是否系统内置 0 = 否 1 = 是
     */
    @AutoFill(defVal = "0")
    @XColumn(name = "SYSTEM_FLAG",desc = "是否系统内置")
    private Integer systemFlag;






}
